package net.sf.rose.exception;

/**
 * 功能:数据库异常类型定义码
 * 
 * @author fengjian
 * @since 2013/05/30
 */
public enum SystemErrorCode implements ErrorCode {

	/** 数据库访问异常 */
	DAO_ERROR(1000), 
	
	/** 服务层异常 */
	SERVICE_ERROR(2000),
	
	/** 业务处理层异常 */
	ACTION_ERROR(3000),
	
	/** 应用层异常 */
	APPLICATION_ERROR(4000),
	
	/** 用户异常 */
	USER_ERROR(5000),
	
	/** 数据库查询异常 */
	DAO_SEARCH_ERROR(1001),

	/** 数据库添加异常 */
	DAO_INSERT_ERROR(1002),

	/** 数据库更新异常 */
	DAO_UPDATE_ERROR(1003),

	/** 数据库删除异常 */
	DAO_DELETE_ERROR(1004),

	/** 数据库批处理异常 */
	DAO_BATCH_ERROR(1005),

	/** 数据库大数据量批处理异常 */
	DAO_BATCH_QUANTITY_ERROR(1006),

	/** 数据库查询SQL语句创建失败异常 */
	DAO_SQL_SEARCH_CREATE_ERROR(1011),

	/** 数据库插入SQL语句创建失败异常 */
	DAO_SQL_INSERT_CREATE_ERROR(1012),

	/** 数据库更新SQL语句创建失败异常 */
	DAO_SQL_UPDATE_CREATE_ERROR(1013),

	/** 数据库批量SQL语句创建失败异常 */
	DAO_SQL_BATCH_UPDATE_CREATE_ERROR(1014),

	/** 数据库连接创建失败异常 */
	CONNECT_CREATE_ERROR(1020),

	/** 数据更新提交至数据库失败异常 */
	CONNECT_COMMIT_ERROR(1021),

	/** 数据库关闭失败异常 */
	CONNECT_CLOSE_ERROR(1022),

	/** 数据库连接配置文件查找失败异常 */
	JDBC_FILE_LOAD_ERROR(1030),

	/** 数据库连接池初始化失败异常 */
	DATASOURCE_INITIAL_ERROR(1031),

	/** 初始化SQL语句库失败异常 */
	SQL_FILE_LOAD_ERROR(1040),

	/** SQL语句提取失败异常 */
	SQL_GET_ERROR(1041),

	/** SQL语句解析失败异常 */
	SQL_RESOLVE_ERROR(1042),

	/** 文件加载失败异常 */
	FILE_LOAD_ERROR(2010),

	/** 文件保存失败异常 */
	FILE_SAVE_ERROR(2011),

	/** 参数缺失异常 */
	PRARAMTER_LOST_ERROR(2051),

	/** 数据转换异常 */
	DATA_PARSE_ERROR(2001);

	/** 异常类型定义码 */
	private final int number;

	private SystemErrorCode(int number) {
		this.number = number;
	}

	/**
	 * 返回异常定义码
	 */
	@Override
	public int getNumber() {
		return number;
	}

}
